package net.hn.hnms.biz.plan.request;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 带值班信息
 *
 * @author ly
 * @since 1.0.0 2022-08-16
 */
@Data
@ApiModel("带值班信息")
public class DispatchKeepWatchReq extends BaseReq {

	/**
	* 主键ID
	*/
	@ApiModelProperty(value = "id")
	private String keepWatchId;

	/**
	* 煤矿编码
	*/
	@ApiModelProperty(value = "煤矿编码")
	private String mineCode;

	/**
	* 日期
	*/
	@NotNull(message = "请选择日期")
	@JsonFormat(
			pattern = "yyyy-MM-dd"
	)
	@DateTimeFormat( pattern = "yyyy-MM-dd")
	@ApiModelProperty(value = "日期")
	@ExcelProperty(value = "日期")
	private Date keepWatchDate;


	/**
	 * 日期
	 */
	@JsonFormat(
			pattern = "yyyy-MM-dd"
	)
	@DateTimeFormat( pattern = "yyyy-MM-dd")
	@ApiModelProperty(value = "日期")
	private Date keepWatchOldDate;

	/**
	* 班次名称
	*/
	@ApiModelProperty(value = "班次ID")
//	@NotBlank(message = "请选择班次")
	private String shiftId;

	@ApiModelProperty(value = "班次ID")
	private String shiftoldId;
	/**
	 * 人员名称
	 */
	@ApiModelProperty(value = "人员名称")
	private String personName;

	/**
	 * 带班人员ID 多个ID用逗号分割
	 */
	@ApiModelProperty(value = "带班人员ID")
//	@NotBlank(message = "请选择带班人员")
	private String leadPersonIds;

	@ApiModelProperty(value = "老带班人员ID")
//	@NotBlank(message = "请选择带班人员")
	private String leadPersonOldIds;

	/**
	 * 值班人员ID 多个ID用逗号分割
	 */
	@ApiModelProperty(value = "值班人员ID")
//	@NotBlank(message = "请选择值班人员")
	private String dutyPersonIds;


	@ExcelProperty("一班人员名称(1)")
	@ApiModelProperty("一班人员名称(1)")
	private String firstShiftPersonName1;

	@ExcelProperty("一班人员名称(2)")
	@ApiModelProperty("一班人员名称(2)")
	private String firstShiftPersonName2;

	@ExcelProperty("二班人员名称(1)")
	@ApiModelProperty("二班人员名称(1)")
	private String secondShiftPersonName1;

	@ExcelProperty("二班人员名称(2)")
	@ApiModelProperty("二班人员名称(2)")
	private String secondShiftPersonName2;

	@ExcelProperty("三班人员名称(1)")
	@ApiModelProperty("三班人员名称(1)")
	private String thirdShiftPersonName1;

	@ExcelProperty("三班人员名称(2)")
	@ApiModelProperty("三班人员名称(2)")
	private String thirdShiftPersonName2;

	@ExcelProperty("夜班值班人员名称")
	@ApiModelProperty("夜班值班人员名称")
	private String nightShiftPersonName;

	@ExcelProperty("白班地面值班人员名称")
	@ApiModelProperty("白班地面值班人员名称")
	@NotBlank(message = "白班地面值班人员名称不能为空")
	private String dayShiftGroundPersonName;

}